Medical devices are implanted in the bodies of patients for various purposes such as heart rhythm management and stimulation. Implantable cardioverter-defibrillators (ICDs), for example, monitor for certain irregular events in the heart, such as cardiac arrhythmia, ventricular fibrillation, and ventricular tachycardia, and administer therapy in response to detection of an irregular event. For example, when cardiac arrhythmia is detected, the ICD delivers a large jolt of electricity to cause the heart to begin beating in a more regular pattern. In addition to monitoring for conditions and delivering therapy, modern ICDs store a number of types of data that may be retrieved later by a doctor (or other medical personnel), so that the doctor can better understand the circumstances of irregular heart events in the patient.
For example, ICDs often store cardiac electrogram (EGM) data, which may be relevant to preconditions of an irregular heart event and/or the response to administered therapy. In addition, post therapy EGM is typically recorded to allow the physician to assess the therapy prescribed and possibly fine tune therapy parameters. Of course, the more information the doctor has, the better his/her understanding of the circumstances will be, and the better his/her medical decisions will typically be. A doctor would like to be able to access and analyze relevant medical data (e.g., EGM data) spanning a fairly long period of time, in order to detect preconditions, patterns, responses, and other indications.
However, as with all devices, ICDs have only limited memory with which to store data. As such, a certain finite amount of medical data can be stored and provided to medical personnel. Typically, the amount of memory available for storing data pertaining to irregular heart conditions is on the order of several hundred kilobytes. Memory limitations in conventional ICDs (and other therapeutic IMDs) can seriously impact the overall design and functionality of ICDs. In an attempt to cope with memory limitations, for example, designers of conventional ICDs typically implement various memory management processes that are often suboptimal.
Even if more memory were to be provided in an ICD, this does alone not solve the problems associated with storing medical data in a way that facilitates optimal memory usage. In attempting to store more and more data associated with irregular heart events, ICD memory is often exhausted very quickly. For example, conventional systems often store duplicative or redundant data because the data is relevant to multiple events that occur at the same time. Clearly, redundant storage of data is a poor use of limited memory. On the other hand, data that is relevant to multiple events should be accessible for analysis of each of those events. As such, limited memory in ICDs and other implantable medical devices should be used more efficiently than in conventional systems, while storing the most medically relevant data possible.